package com.study.spmongodb.book.wwj.char19;

/**
 * @author MI
 * @version 1.0
 * @date 2020/11/30 9:56
 */
public interface FutureService<IN, OUT> {
    /**
     * 提交不需要返回值的任务，Future.get方法返回的将是null
     *
     * @param runnable
     * @return
     */
    Future<?> submit(Runnable runnable);

    /**
     * 提交需要返回值的任务，其中task替代了 Runnable
     *
     * @param task
     * @param input
     * @return
     */
    Future<OUT> submit(Task<IN, OUT> task, IN input);
}
